package com.agan.workflow.service;

import java.util.List;
import com.agan.workflow.domain.BpmType;
import com.agan.workflow.domain.vo.TreeSelect;

/**
 * 流程分类Service接口
 * 
 * @author agan
 * @date 2024-01-10
 */
public interface IBpmTypeService 
{
    /**
     * 查询流程分类
     * 
     * @param typeId 流程分类主键
     * @return 流程分类
     */
    public BpmType selectBpmTypeByTypeId(Long typeId);

    /**
     * 查询流程分类列表
     * 
     * @param bpmType 流程分类
     * @return 流程分类集合
     */
    public List<BpmType> selectBpmTypeList(BpmType bpmType);

    /**
     * 新增流程分类
     * 
     * @param bpmType 流程分类
     * @return 结果
     */
    public int insertBpmType(BpmType bpmType);

    /**
     * 修改流程分类
     * 
     * @param bpmType 流程分类
     * @return 结果
     */
    public int updateBpmType(BpmType bpmType);

    /**
     * 批量删除流程分类
     * 
     * @param typeIds 需要删除的流程分类主键集合
     * @return 结果
     */
    public int deleteBpmTypeByTypeIds(Long[] typeIds);

    /**
     * 删除流程分类信息
     * 
     * @param typeId 流程分类主键
     * @return 结果
     */
    public int deleteBpmTypeByTypeId(Long typeId);

    /**
     * 流程定义树
     */
    List<TreeSelect> selectTypeTreeList(BpmType bpmType);
}
